# 作者: 肖老师
# 2024年11月13日08时30分04秒
# xxxrlmk@163.com
def demo1(num, *args, **kwargs):
    print(num)
    print(args)
    print(kwargs)


def demo(num, *args, **kwargs):
    """

    :param num:
    :param args: 用来吃掉所有的位置参数
    :param kwargs: 吃掉所有的keyword参数
    :return:
    """
    demo1(num, *args, **kwargs)  # 拆包只会在函数调用时，使用


# 函数调用时，位置参数放前面，keyword放后面
demo(1, 2, 3, 4, 5, name="小明", age=18, gender=True)

print('-' * 50)


# 缺省参数怎么去用，是因为我们知道是元组，字典，在函数内就会做对应处理
def sum_numbers(*args):
    num = 0
    # 遍历 args 元组顺序求和
    for n in args:
        num += n

    return num


print(sum_numbers(1, 2, 3))
